﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Valhalla
{
    public class OperationList
    {
        public static readonly ProcessorOperation[] ProcessorOperations = {
			/* 0x00 */ new ProcessorOperation("NOP", 0, Operation.Nop, Operand.None, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x01 */ new ProcessorOperation("LD BC,${0:X4}", 2, Operation.Ld, Operand.Bc, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0x02 */ new ProcessorOperation("LD (BC),A", 0, Operation.Ld, Operand.MemoryBc, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x03 */ new ProcessorOperation("INC BC", 0, Operation.Inc, Operand.Bc, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x04 */ new ProcessorOperation("INC B", 0, Operation.Inc, Operand.B, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 4, 0),
			/* 0x05 */ new ProcessorOperation("DEC B", 0, Operation.Dec, Operand.B, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 4, 0),
			/* 0x06 */ new ProcessorOperation("LD B,${0:X2}", 1, Operation.Ld, Operand.B, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x07 */ new ProcessorOperation("RLCA", 0, Operation.Rlca, Operand.None, Operand.None, 0, (Flags)240, (Flags)0, (Flags)224, 4, 0),
			/* 0x08 */ new ProcessorOperation("LD (${0:X4}),SP", 2, Operation.Ld, Operand.Memory, Operand.Sp, 0, (Flags)0, (Flags)0, (Flags)0, 20, 0),
			/* 0x09 */ new ProcessorOperation("ADD HL,BC", 0, Operation.Add, Operand.Hl, Operand.Bc, 0, (Flags)112, (Flags)0, (Flags)64, 8, 0),
			/* 0x0A */ new ProcessorOperation("LD A,(BC)", 0, Operation.Ld, Operand.A, Operand.MemoryBc, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x0B */ new ProcessorOperation("DEC BC", 0, Operation.Dec, Operand.Bc, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x0C */ new ProcessorOperation("INC C", 0, Operation.Inc, Operand.C, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 4, 0),
			/* 0x0D */ new ProcessorOperation("DEC C", 0, Operation.Dec, Operand.C, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 4, 0),
			/* 0x0E */ new ProcessorOperation("LD C,${0:X2}", 1, Operation.Ld, Operand.C, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x0F */ new ProcessorOperation("RRCA", 0, Operation.Rrca, Operand.None, Operand.None, 0, (Flags)240, (Flags)0, (Flags)224, 4, 0),
			/* 0x10 */ new ProcessorOperation("STOP", 0, Operation.Stop, Operand.None, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x11 */ new ProcessorOperation("LD DE,${0:X4}", 2, Operation.Ld, Operand.De, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0x12 */ new ProcessorOperation("LD (DE),A", 0, Operation.Ld, Operand.MemoryDe, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x13 */ new ProcessorOperation("INC DE", 0, Operation.Inc, Operand.De, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x14 */ new ProcessorOperation("INC D", 0, Operation.Inc, Operand.D, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 4, 0),
			/* 0x15 */ new ProcessorOperation("DEC D", 0, Operation.Dec, Operand.D, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 4, 0),
			/* 0x16 */ new ProcessorOperation("LD D,${0:X2}", 1, Operation.Ld, Operand.D, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x17 */ new ProcessorOperation("RLA", 0, Operation.Rla, Operand.None, Operand.None, 0, (Flags)240, (Flags)0, (Flags)224, 4, 0),
			/* 0x18 */ new ProcessorOperation("JR ${0:X2}", 1, Operation.Jr, Operand.SByte, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0x19 */ new ProcessorOperation("ADD HL,DE", 0, Operation.Add, Operand.Hl, Operand.De, 0, (Flags)112, (Flags)0, (Flags)64, 8, 0),
			/* 0x1A */ new ProcessorOperation("LD A,(DE)", 0, Operation.Ld, Operand.A, Operand.MemoryDe, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x1B */ new ProcessorOperation("DEC DE", 0, Operation.Dec, Operand.De, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x1C */ new ProcessorOperation("INC E", 0, Operation.Inc, Operand.E, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 4, 0),
			/* 0x1D */ new ProcessorOperation("DEC E", 0, Operation.Dec, Operand.E, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 4, 0),
			/* 0x1E */ new ProcessorOperation("LD E,${0:X2}", 1, Operation.Ld, Operand.E, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x1F */ new ProcessorOperation("RRA", 0, Operation.Rra, Operand.None, Operand.None, 0, (Flags)240, (Flags)0, (Flags)224, 4, 0),
			/* 0x20 */ new ProcessorOperation("JR NZ,${0:X2}", 1, Operation.Jr, Operand.NotZero, Operand.SByte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 4),
			/* 0x21 */ new ProcessorOperation("LD HL,${0:X4}", 2, Operation.Ld, Operand.Hl, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0x22 */ new ProcessorOperation("LDI (HL),A", 0, Operation.Ldi, Operand.MemoryHl, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x23 */ new ProcessorOperation("INC HL", 0, Operation.Inc, Operand.Hl, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x24 */ new ProcessorOperation("INC H", 0, Operation.Inc, Operand.H, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 4, 0),
			/* 0x25 */ new ProcessorOperation("DEC H", 0, Operation.Dec, Operand.H, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 4, 0),
			/* 0x26 */ new ProcessorOperation("LD H,${0:X2}", 1, Operation.Ld, Operand.H, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x27 */ new ProcessorOperation("DAA", 0, Operation.Daa, Operand.None, Operand.None, 0, (Flags)176, (Flags)0, (Flags)32, 4, 0),
			/* 0x28 */ new ProcessorOperation("JR Z,${0:X2}", 1, Operation.Jr, Operand.Zero, Operand.SByte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 4),
			/* 0x29 */ new ProcessorOperation("ADD HL,HL", 0, Operation.Add, Operand.Hl, Operand.Hl, 0, (Flags)112, (Flags)0, (Flags)64, 8, 0),
			/* 0x2A */ new ProcessorOperation("LDI A,(HL)", 0, Operation.Ldi, Operand.A, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x2B */ new ProcessorOperation("DEC HL", 0, Operation.Dec, Operand.Hl, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x2C */ new ProcessorOperation("INC L", 0, Operation.Inc, Operand.L, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 4, 0),
			/* 0x2D */ new ProcessorOperation("DEC L", 0, Operation.Dec, Operand.L, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 4, 0),
			/* 0x2E */ new ProcessorOperation("LD L,${0:X2}", 1, Operation.Ld, Operand.L, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x2F */ new ProcessorOperation("CPL", 0, Operation.Cpl, Operand.None, Operand.None, 0, (Flags)96, (Flags)96, (Flags)0, 4, 0),
			/* 0x30 */ new ProcessorOperation("JR NC,${0:X2}", 1, Operation.Jr, Operand.NotCarry, Operand.SByte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 4),
			/* 0x31 */ new ProcessorOperation("LD SP,${0:X4}", 2, Operation.Ld, Operand.Sp, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0x32 */ new ProcessorOperation("LDD (HL),A", 0, Operation.Ldd, Operand.MemoryHl, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x33 */ new ProcessorOperation("INC SP", 0, Operation.Inc, Operand.Sp, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x34 */ new ProcessorOperation("INC (HL)", 0, Operation.Inc, Operand.MemoryHl, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 12, 0),
			/* 0x35 */ new ProcessorOperation("DEC (HL)", 0, Operation.Dec, Operand.MemoryHl, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 12, 0),
			/* 0x36 */ new ProcessorOperation("LD (HL),${0:X2}", 1, Operation.Ld, Operand.MemoryHl, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0x37 */ new ProcessorOperation("SCF", 0, Operation.Scf, Operand.None, Operand.None, 0, (Flags)112, (Flags)16, (Flags)96, 4, 0),
			/* 0x38 */ new ProcessorOperation("JR C,${0:X2}", 1, Operation.Jr, Operand.Carry, Operand.SByte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 4),
			/* 0x39 */ new ProcessorOperation("ADD HL,SP", 0, Operation.Add, Operand.Hl, Operand.Sp, 0, (Flags)112, (Flags)0, (Flags)64, 8, 0),
			/* 0x3A */ new ProcessorOperation("LDD A,(HL)", 0, Operation.Ldd, Operand.A, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x3B */ new ProcessorOperation("DEC SP", 0, Operation.Dec, Operand.Sp, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x3C */ new ProcessorOperation("INC A", 0, Operation.Inc, Operand.A, Operand.None, 0, (Flags)224, (Flags)0, (Flags)64, 4, 0),
			/* 0x3D */ new ProcessorOperation("DEC A", 0, Operation.Dec, Operand.A, Operand.None, 0, (Flags)224, (Flags)64, (Flags)0, 4, 0),
			/* 0x3E */ new ProcessorOperation("LD A,${0:X2}", 1, Operation.Ld, Operand.A, Operand.Byte, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x3F */ new ProcessorOperation("CCF", 0, Operation.Ccf, Operand.None, Operand.None, 0, (Flags)112, (Flags)0, (Flags)96, 4, 0),
			/* 0x40 */ new ProcessorOperation("LD B,B", 0, Operation.Ld, Operand.B, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x41 */ new ProcessorOperation("LD B,C", 0, Operation.Ld, Operand.B, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x42 */ new ProcessorOperation("LD B,D", 0, Operation.Ld, Operand.B, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x43 */ new ProcessorOperation("LD B,E", 0, Operation.Ld, Operand.B, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x44 */ new ProcessorOperation("LD B,H", 0, Operation.Ld, Operand.B, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x45 */ new ProcessorOperation("LD B,L", 0, Operation.Ld, Operand.B, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x46 */ new ProcessorOperation("LD B,(HL)", 0, Operation.Ld, Operand.B, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x47 */ new ProcessorOperation("LD B,A", 0, Operation.Ld, Operand.B, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x48 */ new ProcessorOperation("LD C,B", 0, Operation.Ld, Operand.C, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x49 */ new ProcessorOperation("LD C,C", 0, Operation.Ld, Operand.C, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x4A */ new ProcessorOperation("LD C,D", 0, Operation.Ld, Operand.C, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x4B */ new ProcessorOperation("LD C,E", 0, Operation.Ld, Operand.C, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x4C */ new ProcessorOperation("LD C,H", 0, Operation.Ld, Operand.C, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x4D */ new ProcessorOperation("LD C,L", 0, Operation.Ld, Operand.C, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x4E */ new ProcessorOperation("LD C,(HL)", 0, Operation.Ld, Operand.C, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x4F */ new ProcessorOperation("LD C,A", 0, Operation.Ld, Operand.C, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x50 */ new ProcessorOperation("LD D,B", 0, Operation.Ld, Operand.D, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x51 */ new ProcessorOperation("LD D,C", 0, Operation.Ld, Operand.D, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x52 */ new ProcessorOperation("LD D,D", 0, Operation.Ld, Operand.D, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x53 */ new ProcessorOperation("LD D,E", 0, Operation.Ld, Operand.D, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x54 */ new ProcessorOperation("LD D,H", 0, Operation.Ld, Operand.D, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x55 */ new ProcessorOperation("LD D,L", 0, Operation.Ld, Operand.D, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x56 */ new ProcessorOperation("LD D,(HL)", 0, Operation.Ld, Operand.D, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x57 */ new ProcessorOperation("LD D,A", 0, Operation.Ld, Operand.D, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x58 */ new ProcessorOperation("LD E,B", 0, Operation.Ld, Operand.E, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x59 */ new ProcessorOperation("LD E,C", 0, Operation.Ld, Operand.E, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x5A */ new ProcessorOperation("LD E,D", 0, Operation.Ld, Operand.E, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x5B */ new ProcessorOperation("LD E,E", 0, Operation.Ld, Operand.E, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x5C */ new ProcessorOperation("LD E,H", 0, Operation.Ld, Operand.E, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x5D */ new ProcessorOperation("LD E,L", 0, Operation.Ld, Operand.E, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x5E */ new ProcessorOperation("LD E,(HL)", 0, Operation.Ld, Operand.E, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x5F */ new ProcessorOperation("LD E,A", 0, Operation.Ld, Operand.E, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x60 */ new ProcessorOperation("LD H,B", 0, Operation.Ld, Operand.H, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x61 */ new ProcessorOperation("LD H,C", 0, Operation.Ld, Operand.H, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x62 */ new ProcessorOperation("LD H,D", 0, Operation.Ld, Operand.H, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x63 */ new ProcessorOperation("LD H,E", 0, Operation.Ld, Operand.H, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x64 */ new ProcessorOperation("LD H,H", 0, Operation.Ld, Operand.H, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x65 */ new ProcessorOperation("LD H,L", 0, Operation.Ld, Operand.H, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x66 */ new ProcessorOperation("LD H,(HL)", 0, Operation.Ld, Operand.H, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x67 */ new ProcessorOperation("LD H,A", 0, Operation.Ld, Operand.H, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x68 */ new ProcessorOperation("LD L,B", 0, Operation.Ld, Operand.L, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x69 */ new ProcessorOperation("LD L,C", 0, Operation.Ld, Operand.L, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x6A */ new ProcessorOperation("LD L,D", 0, Operation.Ld, Operand.L, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x6B */ new ProcessorOperation("LD L,E", 0, Operation.Ld, Operand.L, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x6C */ new ProcessorOperation("LD L,H", 0, Operation.Ld, Operand.L, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x6D */ new ProcessorOperation("LD L,L", 0, Operation.Ld, Operand.L, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x6E */ new ProcessorOperation("LD L,(HL)", 0, Operation.Ld, Operand.L, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x6F */ new ProcessorOperation("LD L,A", 0, Operation.Ld, Operand.L, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x70 */ new ProcessorOperation("LD (HL),B", 0, Operation.Ld, Operand.MemoryHl, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x71 */ new ProcessorOperation("LD (HL),C", 0, Operation.Ld, Operand.MemoryHl, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x72 */ new ProcessorOperation("LD (HL),D", 0, Operation.Ld, Operand.MemoryHl, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x73 */ new ProcessorOperation("LD (HL),E", 0, Operation.Ld, Operand.MemoryHl, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x74 */ new ProcessorOperation("LD (HL),H", 0, Operation.Ld, Operand.MemoryHl, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x75 */ new ProcessorOperation("LD (HL),L", 0, Operation.Ld, Operand.MemoryHl, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x76 */ new ProcessorOperation("HALT", 0, Operation.Halt, Operand.None, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x77 */ new ProcessorOperation("LD (HL),A", 0, Operation.Ld, Operand.MemoryHl, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x78 */ new ProcessorOperation("LD A,B", 0, Operation.Ld, Operand.A, Operand.B, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x79 */ new ProcessorOperation("LD A,C", 0, Operation.Ld, Operand.A, Operand.C, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x7A */ new ProcessorOperation("LD A,D", 0, Operation.Ld, Operand.A, Operand.D, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x7B */ new ProcessorOperation("LD A,E", 0, Operation.Ld, Operand.A, Operand.E, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x7C */ new ProcessorOperation("LD A,H", 0, Operation.Ld, Operand.A, Operand.H, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x7D */ new ProcessorOperation("LD A,L", 0, Operation.Ld, Operand.A, Operand.L, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x7E */ new ProcessorOperation("LD A,(HL)", 0, Operation.Ld, Operand.A, Operand.MemoryHl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0x7F */ new ProcessorOperation("LD A,A", 0, Operation.Ld, Operand.A, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0x80 */ new ProcessorOperation("ADD A,B", 0, Operation.Add, Operand.A, Operand.B, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x81 */ new ProcessorOperation("ADD A,C", 0, Operation.Add, Operand.A, Operand.C, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x82 */ new ProcessorOperation("ADD A,D", 0, Operation.Add, Operand.A, Operand.D, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x83 */ new ProcessorOperation("ADD A,E", 0, Operation.Add, Operand.A, Operand.E, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x84 */ new ProcessorOperation("ADD A,H", 0, Operation.Add, Operand.A, Operand.H, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x85 */ new ProcessorOperation("ADD A,L", 0, Operation.Add, Operand.A, Operand.L, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x86 */ new ProcessorOperation("ADD A,(HL)", 0, Operation.Add, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)0, (Flags)64, 8, 0),
			/* 0x87 */ new ProcessorOperation("ADD A,A", 0, Operation.Add, Operand.A, Operand.A, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x88 */ new ProcessorOperation("ADC A,B", 0, Operation.Adc, Operand.A, Operand.B, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x89 */ new ProcessorOperation("ADC A,C", 0, Operation.Adc, Operand.A, Operand.C, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x8A */ new ProcessorOperation("ADC A,D", 0, Operation.Adc, Operand.A, Operand.D, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x8B */ new ProcessorOperation("ADC A,E", 0, Operation.Adc, Operand.A, Operand.E, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x8C */ new ProcessorOperation("ADC A,H", 0, Operation.Adc, Operand.A, Operand.H, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x8D */ new ProcessorOperation("ADC A,L", 0, Operation.Adc, Operand.A, Operand.L, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x8E */ new ProcessorOperation("ADC A,(HL)", 0, Operation.Adc, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)0, (Flags)64, 8, 0),
			/* 0x8F */ new ProcessorOperation("ADC A,A", 0, Operation.Adc, Operand.A, Operand.A, 0, (Flags)240, (Flags)0, (Flags)64, 4, 0),
			/* 0x90 */ new ProcessorOperation("SUB A,B", 0, Operation.Sub, Operand.A, Operand.B, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x91 */ new ProcessorOperation("SUB A,C", 0, Operation.Sub, Operand.A, Operand.C, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x92 */ new ProcessorOperation("SUB A,D", 0, Operation.Sub, Operand.A, Operand.D, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x93 */ new ProcessorOperation("SUB A,E", 0, Operation.Sub, Operand.A, Operand.E, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x94 */ new ProcessorOperation("SUB A,H", 0, Operation.Sub, Operand.A, Operand.H, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x95 */ new ProcessorOperation("SUB A,L", 0, Operation.Sub, Operand.A, Operand.L, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x96 */ new ProcessorOperation("SUB A,(HL)", 0, Operation.Sub, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)64, (Flags)0, 8, 0),
			/* 0x97 */ new ProcessorOperation("SUB A,A", 0, Operation.Sub, Operand.A, Operand.A, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x98 */ new ProcessorOperation("SBC A,B", 0, Operation.Sbc, Operand.A, Operand.B, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x99 */ new ProcessorOperation("SBC A,C", 0, Operation.Sbc, Operand.A, Operand.C, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x9A */ new ProcessorOperation("SBC A,D", 0, Operation.Sbc, Operand.A, Operand.D, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x9B */ new ProcessorOperation("SBC A,E", 0, Operation.Sbc, Operand.A, Operand.E, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x9C */ new ProcessorOperation("SBC A,H", 0, Operation.Sbc, Operand.A, Operand.H, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x9D */ new ProcessorOperation("SBC A,L", 0, Operation.Sbc, Operand.A, Operand.L, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0x9E */ new ProcessorOperation("SBC A,(HL)", 0, Operation.Sbc, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)64, (Flags)0, 8, 0),
			/* 0x9F */ new ProcessorOperation("SBC A,A", 0, Operation.Sbc, Operand.A, Operand.A, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xA0 */ new ProcessorOperation("AND A,B", 0, Operation.And, Operand.A, Operand.B, 0, (Flags)240, (Flags)32, (Flags)80, 4, 0),
			/* 0xA1 */ new ProcessorOperation("AND A,C", 0, Operation.And, Operand.A, Operand.C, 0, (Flags)240, (Flags)32, (Flags)80, 4, 0),
			/* 0xA2 */ new ProcessorOperation("AND A,D", 0, Operation.And, Operand.A, Operand.D, 0, (Flags)240, (Flags)32, (Flags)80, 4, 0),
			/* 0xA3 */ new ProcessorOperation("AND A,E", 0, Operation.And, Operand.A, Operand.E, 0, (Flags)240, (Flags)32, (Flags)80, 4, 0),
			/* 0xA4 */ new ProcessorOperation("AND A,H", 0, Operation.And, Operand.A, Operand.H, 0, (Flags)240, (Flags)32, (Flags)80, 4, 0),
			/* 0xA5 */ new ProcessorOperation("AND A,L", 0, Operation.And, Operand.A, Operand.L, 0, (Flags)240, (Flags)32, (Flags)80, 4, 0),
			/* 0xA6 */ new ProcessorOperation("AND A,(HL)", 0, Operation.And, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)32, (Flags)80, 8, 0),
			/* 0xA7 */ new ProcessorOperation("AND A,A", 0, Operation.And, Operand.A, Operand.A, 0, (Flags)240, (Flags)32, (Flags)80, 4, 0),
			/* 0xA8 */ new ProcessorOperation("XOR A,B", 0, Operation.Xor, Operand.A, Operand.B, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xA9 */ new ProcessorOperation("XOR A,C", 0, Operation.Xor, Operand.A, Operand.C, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xAA */ new ProcessorOperation("XOR A,D", 0, Operation.Xor, Operand.A, Operand.D, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xAB */ new ProcessorOperation("XOR A,E", 0, Operation.Xor, Operand.A, Operand.E, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xAC */ new ProcessorOperation("XOR A,H", 0, Operation.Xor, Operand.A, Operand.H, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xAD */ new ProcessorOperation("XOR A,L", 0, Operation.Xor, Operand.A, Operand.L, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xAE */ new ProcessorOperation("XOR A,(HL)", 0, Operation.Xor, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)0, (Flags)112, 8, 0),
			/* 0xAF */ new ProcessorOperation("XOR A,A", 0, Operation.Xor, Operand.A, Operand.A, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB0 */ new ProcessorOperation("OR A,B", 0, Operation.Or, Operand.A, Operand.B, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB1 */ new ProcessorOperation("OR A,C", 0, Operation.Or, Operand.A, Operand.C, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB2 */ new ProcessorOperation("OR A,D", 0, Operation.Or, Operand.A, Operand.D, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB3 */ new ProcessorOperation("OR A,E", 0, Operation.Or, Operand.A, Operand.E, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB4 */ new ProcessorOperation("OR A,H", 0, Operation.Or, Operand.A, Operand.H, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB5 */ new ProcessorOperation("OR A,L", 0, Operation.Or, Operand.A, Operand.L, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB6 */ new ProcessorOperation("OR A,(HL)", 0, Operation.Or, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)0, (Flags)112, 8, 0),
			/* 0xB7 */ new ProcessorOperation("OR A,A", 0, Operation.Or, Operand.A, Operand.A, 0, (Flags)240, (Flags)0, (Flags)112, 4, 0),
			/* 0xB8 */ new ProcessorOperation("CP A,B", 0, Operation.Cp, Operand.A, Operand.B, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xB9 */ new ProcessorOperation("CP A,C", 0, Operation.Cp, Operand.A, Operand.C, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xBA */ new ProcessorOperation("CP A,D", 0, Operation.Cp, Operand.A, Operand.D, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xBB */ new ProcessorOperation("CP A,E", 0, Operation.Cp, Operand.A, Operand.E, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xBC */ new ProcessorOperation("CP A,H", 0, Operation.Cp, Operand.A, Operand.H, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xBD */ new ProcessorOperation("CP A,L", 0, Operation.Cp, Operand.A, Operand.L, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xBE */ new ProcessorOperation("CP A,(HL)", 0, Operation.Cp, Operand.A, Operand.MemoryHl, 0, (Flags)240, (Flags)64, (Flags)0, 8, 0),
			/* 0xBF */ new ProcessorOperation("CP A,A", 0, Operation.Cp, Operand.A, Operand.A, 0, (Flags)240, (Flags)64, (Flags)0, 4, 0),
			/* 0xC0 */ new ProcessorOperation("RET NZ", 0, Operation.Ret, Operand.NotZero, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 12),
			/* 0xC1 */ new ProcessorOperation("POP BC", 0, Operation.Pop, Operand.Bc, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0xC2 */ new ProcessorOperation("JP NZ,${0:X4}", 2, Operation.Jp, Operand.NotZero, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 4),
			/* 0xC3 */ new ProcessorOperation("JP ${0:X4}", 2, Operation.Jp, Operand.Word, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xC4 */ new ProcessorOperation("CALL NZ,${0:X4}", 2, Operation.Call, Operand.NotZero, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 12),
			/* 0xC5 */ new ProcessorOperation("PUSH BC", 0, Operation.Push, Operand.Bc, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xC6 */ new ProcessorOperation("ADD A,${0:X2}", 1, Operation.Add, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)0, (Flags)64, 8, 0),
			/* 0xC7 */ new ProcessorOperation("RST $00", 0, Operation.Rst, Operand.Embedded, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xC8 */ new ProcessorOperation("RET Z", 0, Operation.Ret, Operand.Zero, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 12),
			/* 0xC9 */ new ProcessorOperation("RET", 0, Operation.Ret, Operand.None, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xCA */ new ProcessorOperation("JP Z,${0:X4}", 2, Operation.Jp, Operand.Zero, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 4),
			/* 0xCB */ ProcessorOperation.Invalid,
			/* 0xCC */ new ProcessorOperation("CALL Z,${0:X4}", 2, Operation.Call, Operand.Zero, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 12),
			/* 0xCD */ new ProcessorOperation("CALL ${0:X4}", 2, Operation.Call, Operand.Word, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 24, 0),
			/* 0xCE */ new ProcessorOperation("ADC A,${0:X2}", 1, Operation.Adc, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)0, (Flags)64, 8, 0),
			/* 0xCF */ new ProcessorOperation("RST $08", 0, Operation.Rst, Operand.Embedded, Operand.None, 8, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xD0 */ new ProcessorOperation("RET NC", 0, Operation.Ret, Operand.NotCarry, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 12),
			/* 0xD1 */ new ProcessorOperation("POP DE", 0, Operation.Pop, Operand.De, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0xD2 */ new ProcessorOperation("JP NC,${0:X4}", 2, Operation.Jp, Operand.NotCarry, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 4),
			/* 0xD3 */ ProcessorOperation.Invalid,
			/* 0xD4 */ new ProcessorOperation("CALL NC,${0:X4}", 2, Operation.Call, Operand.NotCarry, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 12),
			/* 0xD5 */ new ProcessorOperation("PUSH DE", 0, Operation.Push, Operand.De, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xD6 */ new ProcessorOperation("SUB A,${0:X2}", 1, Operation.Sub, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)64, (Flags)0, 8, 0),
			/* 0xD7 */ new ProcessorOperation("RST $10", 0, Operation.Rst, Operand.Embedded, Operand.None, 16, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xD8 */ new ProcessorOperation("RET C", 0, Operation.Ret, Operand.Carry, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 8, 12),
			/* 0xD9 */ new ProcessorOperation("RETI", 0, Operation.Reti, Operand.None, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xDA */ new ProcessorOperation("JP C,${0:X4}", 2, Operation.Jp, Operand.Carry, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 4),
			/* 0xDB */ ProcessorOperation.Invalid,
			/* 0xDC */ new ProcessorOperation("CALL C,${0:X4}", 2, Operation.Call, Operand.Carry, Operand.Word, 0, (Flags)0, (Flags)0, (Flags)0, 12, 12),
			/* 0xDD */ ProcessorOperation.Invalid,
			/* 0xDE */ new ProcessorOperation("SBC A,${0:X2}", 1, Operation.Sbc, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)64, (Flags)0, 8, 0),
			/* 0xDF */ new ProcessorOperation("RST $18", 0, Operation.Rst, Operand.Embedded, Operand.None, 24, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xE0 */ new ProcessorOperation("LD ($FF{0:X2}),A", 1, Operation.Ld, Operand.BytePort, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0xE1 */ new ProcessorOperation("POP HL", 0, Operation.Pop, Operand.Hl, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0xE2 */ new ProcessorOperation("LD (C),A", 0, Operation.Ld, Operand.RegisterPort, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0xE3 */ ProcessorOperation.Invalid,
			/* 0xE4 */ ProcessorOperation.Invalid,
			/* 0xE5 */ new ProcessorOperation("PUSH HL", 0, Operation.Push, Operand.Hl, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xE6 */ new ProcessorOperation("AND A,${0:X2}", 1, Operation.And, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)32, (Flags)80, 8, 0),
			/* 0xE7 */ new ProcessorOperation("RST $20", 0, Operation.Rst, Operand.Embedded, Operand.None, 32, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xE8 */ new ProcessorOperation("ADD SP,${0:X2}", 1, Operation.Add, Operand.Sp, Operand.SByte, 0, (Flags)240, (Flags)0, (Flags)192, 16, 0),
			/* 0xE9 */ new ProcessorOperation("JP HL", 0, Operation.Jp, Operand.Hl, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0xEA */ new ProcessorOperation("LD (${0:X4}),A", 2, Operation.Ld, Operand.Memory, Operand.A, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xEB */ ProcessorOperation.Invalid,
			/* 0xEC */ ProcessorOperation.Invalid,
			/* 0xED */ ProcessorOperation.Invalid,
			/* 0xEE */ new ProcessorOperation("XOR A,${0:X2}", 1, Operation.Xor, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)0, (Flags)112, 8, 0),
			/* 0xEF */ new ProcessorOperation("RST $28", 0, Operation.Rst, Operand.Embedded, Operand.None, 40, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xF0 */ new ProcessorOperation("LD A,($FF{0:X2})", 1, Operation.Ld, Operand.A, Operand.BytePort, 0, (Flags)0, (Flags)0, (Flags)0, 12, 0),
			/* 0xF1 */ new ProcessorOperation("POP AF", 0, Operation.Pop, Operand.Af, Operand.None, 0, (Flags)240, (Flags)0, (Flags)0, 12, 0),
			/* 0xF2 */ new ProcessorOperation("LD A,(C)", 0, Operation.Ld, Operand.A, Operand.RegisterPort, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0xF3 */ new ProcessorOperation("DI", 0, Operation.Di, Operand.None, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0xF4 */ ProcessorOperation.Invalid,
			/* 0xF5 */ new ProcessorOperation("PUSH AF", 0, Operation.Push, Operand.Af, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xF6 */ new ProcessorOperation("OR A,${0:X2}", 1, Operation.Or, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)0, (Flags)112, 8, 0),
			/* 0xF7 */ new ProcessorOperation("RST $30", 0, Operation.Rst, Operand.Embedded, Operand.None, 48, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xF8 */ new ProcessorOperation("LD HL,SP+${0:X2}", 1, Operation.Ld, Operand.Hl, Operand.StackRelative, 0, (Flags)240, (Flags)0, (Flags)192, 12, 0),
			/* 0xF9 */ new ProcessorOperation("LD SP,HL", 0, Operation.Ld, Operand.Sp, Operand.Hl, 0, (Flags)0, (Flags)0, (Flags)0, 8, 0),
			/* 0xFA */ new ProcessorOperation("LD A,(${0:X4})", 2, Operation.Ld, Operand.A, Operand.Memory, 0, (Flags)0, (Flags)0, (Flags)0, 16, 0),
			/* 0xFB */ new ProcessorOperation("EI", 0, Operation.Ei, Operand.None, Operand.None, 0, (Flags)0, (Flags)0, (Flags)0, 4, 0),
			/* 0xFC */ ProcessorOperation.Invalid,
			/* 0xFD */ ProcessorOperation.Invalid,
			/* 0xFE */ new ProcessorOperation("CP A,${0:X2}", 1, Operation.Cp, Operand.A, Operand.Byte, 0, (Flags)240, (Flags)64, (Flags)0, 8, 0),
			/* 0xFF */ new ProcessorOperation("RST $38", 0, Operation.Rst, Operand.Embedded, Operand.None, 56, (Flags)0, (Flags)0, (Flags)0, 16, 0),
		};
    }
}